package com.lcc.bank.tools.handle;

import cn.hutool.core.util.StrUtil;
import com.lcc.bank.tools.pojo.ReturnConfigDTO;
import com.lcc.bank.tools.pojo.ReturnInfoDTO;
import com.lcc.bank.tools.util.config.Config;

import java.util.ArrayList;
import java.util.List;

/**
 * @author lincc
 * @version 1.0 2020/7/2
 */
public class ReturnConfiguration {

    public static ReturnConfigDTO returnConfigDTO;

    static {
        initReturnConfig();
    }
    private static void initReturnConfig(){
        String returnKey = Config.getReturnKey();
        String[] keyArr = returnKey.split(StrUtil.COMMA);
        List<ReturnInfoDTO> returnInfoList = new ArrayList<>();
        for (String key : keyArr) {
            String returnMsg = Config.getReturnMsg(key);
            String[] msgArr = returnMsg.split(StrUtil.UNDERLINE);
            ReturnInfoDTO returnInfoDTO = ReturnInfoDTO.builder()
                    .key(key)
                    .resultState(msgArr[0])
                    .resultInfo(msgArr[1])
                    .build();
            returnInfoList.add(returnInfoDTO);
        }
        returnConfigDTO =  ReturnConfigDTO.builder()
                .returnTime(Config.getReturnTime())
                .returnKey(returnKey)
                .returnInfoList(returnInfoList)
                .build();
    }

    public static void editConfig(ReturnConfigDTO config){
        returnConfigDTO = config;
    }
}
